home *** CD-ROM | disk | FTP | other *** search
- // Springs - Version 1.3
-
- // é▒é╠âXâNâèâvâgé═üAâ|âbâvâAâbâvâüâjâàü[é╔ò\Īé│éΩéΘéQé┬é╠âîâCâäü[é≡âXâvâèâôâOé┼îïé╤òté»é▄é╖üB
- // âîâCâäü[é═üA âÅü[âNâGâèâAé╠
- // èJÄnÄ₧é╞ô»é╢æ¼ôxé┼æ▒ìsé╡é▄é╖üB
-
- // âîâCâäü[ âvâìâpâeâB â`âââôâlâï
- // ------ ---------- --------
- // 1: âXâvâèâôâOé┼éQö╘û┌é╠âîâCâäü[é╞îïé╤òté»éτéΩéΘâîâCâäü[ Ägùpé╡é╚éó Ägùpé╡é╚éó
- // 2: âXâvâèâôâOé┼éPö╘û┌é╠âîâCâäü[é╞îïé╤òté»éτéΩéΘâîâCâäü[ Ägùpé╡é╚éó Ägùpé╡é╚éó
-
- if (time() == start_time) {
- rest_length = 50; // ù═é≡ë┴éªé─éóé╚éóé╞é½é╠âXâvâèâôâOé╠Æ╖é│üiâsâNâZâïÆPê╩üj
- // é▒é╠Ælé≡ò╧ìXé╡é─üAâXâvâèâôâOé╠Æ╖é│é≡Æ▓É«
- damp = 0.95; // î╕Éèù═üiéOüüûÇÄCù═û│î└æσüAéPüüûÇÄCù═é╚é╡üj
-
- p1 = value(pop_layer(1), position);
- p2 = value(pop_layer(2), position);
-
- last_p1 = tmap(time() - step_time, value(pop_layer(1), position));
- last_p2 = tmap(time() - step_time, value(pop_layer(2), position));
-
- v1 = (p1 - last_p1);
- v2 = (p2 - last_p2);
- } else {
- delta = p2 - p1;
- n_delta = normalize(delta);
-
- a = n_delta * (length(delta) - rest_length) * step_time;
-
- v2 = (v2 - a) * damp;
- v1 = (v1 + a) * damp;
-
- p1 = p1 + v1;
- p2 = p2 + v2;
- }
- value(pop_layer(1), position) = p1;
- value(pop_layer(2), position) = p2;